export interface GetMessageListRes {
  code: number;
  data: Data;
  msg: string;
  traceId: string;
}

export interface Data {
  messages: Message[];
  friendHeadUrl: string;
}

// Message 聊天消息
export interface Message {
  messageId: number; // 消息ID
  senderId: number; // 发送人ID
  receiverId: number; // 接收人ID
  type: number; // 消息类型 1-文字，2-语音，3-跟课事件
  textMessage: TextMessage; // 文字消息内容（若已撤回，接收人获取的消息内容为空）
  audioMessage: AudioMessage; // 语音消息内容（若已撤回，接收人获取的消息内容为空）
  lessonEventMessage: LessonEventMessage; // 跟课事件消息内容（若已撤回，接收人获取的消息内容为空）
  withdraw: boolean; // 是否撤回
  isRead: boolean; // 是否已读(跟课事件的已处理)
  sendTime: string; // 发送时间 (格式：2006-01-02 15:04:05)
  isPlay?: boolean; // 是否正在播放
  canWithDraw?: boolean; // 是否可以撤回
  isSending?: boolean; // 消息发送中
}

// TextMessage 文字消息内容
export interface TextMessage {
  text: string; // 文字内容
}

// AudioMessage 语音消息内容
export interface AudioMessage {
  audioUrl: string; // 语音文件的url
  duration: number; // 语音时长（单位：秒）
}

// LessonEventMessage 跟课事件消息内容
export interface LessonEventMessage {
  eventType: number; // 跟课事件类型
}
